﻿# -*- coding: utf-8 -*-
class 统计:
    def __init__(self, 国家, 金牌, 银牌, 铜牌):     # 初始化属性
        self.国家 = 国家
        self.金牌 = 金牌
        self.银牌 = 银牌
        self.铜牌 = 铜牌
    def 刷新(self, 奖牌, n):       # 创建奖牌计数函数
        if 奖牌 == 1:
            self.金牌 += n
        elif 奖牌 == 2:
            self.银牌 += n
        elif 奖牌 == 3:
            self.铜牌 += n
    def 总奖牌数(self):     # 奖牌总数
        return self.金牌 + self.银牌 + self.铜牌
    def __str__(self):
        return f'{self.国家}：金牌{self.金牌}，银牌{self.银牌}，铜牌{self.铜牌}，总共{self.总奖牌数()}'
# 测试代码
# 创建对像

中国 = 统计('中国', 32, 31, 35)
美国 = 统计('美国', 2, 2, 2)
俄罗斯 = 统计('俄罗斯', 29, 43, 33)
英国 = 统计('英国', 34, 26, 24)
print(f'{中国}\n{美国}\n{俄罗斯}\n{英国}')

# 增加奖牌
中国.刷新(1, 6)
print('中国获得冠军\n', 中国)

# 排名
奖牌 = [中国, 美国, 俄罗斯, 英国]
金牌排名 = sorted(奖牌, key=lambda x: -x.金牌)
print('按金牌排序：')
for i in 金牌排名:
    print(i)
总数排名 = sorted(奖牌, key=lambda x: -x.总奖牌数())
print('按总数排名：')
for i in 总数排名:
    print(i)